In general, a transfer function relates the output of a control system to its input. For many control system applications, the desired transfer function is non-linear, and the control system includes a network that approximates the non-linear transfer function.
An exemplary application for a signal processing control system is as a range-compression system for digitized image data. Video or thermal imaging systems often convert video or thermal information into digital form for processing--image signals are converted into digital samples, or pixel (picture element) data, of an arbitrary bit-length. Often, to improve dynamic range and signal processing accuracy, pixel data are generated and processed using a larger range of values (i.e., a larger bit length) than the 8-bit gray-scale format conventionally used by video displays (providing 256 gray-scale values). Thus, the pixel data generated in, for example, a 16-bit format must be range compressed into the standard 8-bit video display format.
The conventional approach to providing range compression is to filter the pixel data using a compression algorithm. Many such compression algorithms are known in the art.
However, these range-compression techniques do not evaluate from a histographic standpoint the pixel data that form a scene (or image), nor do they permit selective real-time modification of the compression algorithm to achieve minimum image information loss. That is, no attempt is made to optimize the transfer function embodied in range-compression algorithms implemented by conventional range-compression systems for histographic changes in the distribution of input pixel data (such as frame-to-frame).
For example, a thermal-image histograph of a scene at the horizon will have two pixel distribution peaks--one for sky and one for land. Within each peak, maximizing contrast so as to differentiate objects requires maximizing differentiation between pixels, i.e., minimizing range compression. Thus, an ideal range-compression transfer function for such a thermal imaging application would have non-linear gain characteristics, providing at least two high gain (i.e., high pixel differentiation) segments corresponding to the two pixel distribution peaks, with data compression (i.e., loss of pixel differentiation) being concentrated outside those segments. Moreover, as the scene data changes frame-to-frame, the associated non-linear transfer function embodied in the range-compression system should also change, typically in non-linear fashion.
Conventional compression algorithms do not take into account histographic frame-to-frame pixel distribution. Moreover, the range-compression systems implementing these conventional compression algorithms are not dynamically programmable, i.e., the transfer function embodied in these systems cannot be modified in real time after an arbitrary number of pixels (such as a single frame) to accommodate scene data changes manifested in the histographic pixel distribution.
One approach used by signal processing control systems to selectively implement a non-linear transfer function is to use a lookup table. The lookup table approach has the advantage of obviating the dynamic (programmable) update/modification of a transfer function used to implement real-time computation of output sample values. Rather, each possible input sample value has associated with it a memory location that stores a predetermined, output sample value. For the exemplary range-compression system, assuming a 16-bit scene data input that must be range-compressed into the standard 8-bit video display format, a lookup table of at least 65,536.times.8 bits would be required to store a computed range-compressed pixel value (0-255) for each of the possible input pixels. If the lookup table operation is made dynamic by regularly recomputing and updating the table values that embody the non-linear transfer function, then to maintain throughput, at least two identical lookup tables would typically be required, one of which would be active while the other was being updated.
A dual dynamically-updated lookup table approach is extremely flexible, and can be made as non-linear as desired However, this approach is disadvantageous in that it requires a relatively large number of integrated circuit components, requiring a relatively large amount of PCB (printed circuit board) surface area. Moreover, the processing time required to regularly update the table values (such as on a frame-by-frame basis in the exemplary range-compression application) correspondingly reduces the signal processing time available for data analysis. These disadvantages significantly reduce the utility of the lookup table approach to implementing a non-linear transfer function operation.
The exemplary range-compression application used in the above discussion is merely illustrative of a generalized non-linear transfer function analysis for signal (control) processing. This analysis is applicable to numerous other signal processing applications, including medical imaging and high definition television.
Accordingly, a need exists for a signal processing system incorporating a transfer function generator capable of dynamically (programmably) implementing a non-linear transfer function.